--设置定时器
time = os.time()

--初始化
init("0",0)
mSleep(2000)

--来电暂停
luaExitIfCall(true)


--点击函数
function click(n,x,y)
	mSleep(500);
	touchDown(n,x,y);  
	mSleep(50);
	touchUp(n,x,y);
	mSleep(500);
end

function timeOut()
	--如果一段时间内没有检测到，则判断为任务失败，结束脚本。
	if os.time()-time>360 then
		lua_restart();
	end
end


function cleanAll()
	--清理后台
	closeApp("*",1);
	wLog("自动脚本1", "[DATE] 清理后台");
end


function movettoo(n,x,y,a,b)
	-- body
	touchDown(n, x, y); --在坐标 (150, 550)按下
	mSleep(80);
	touchMove(n, a, b); --移动到坐标 (150, 600)，注意一次滑动的坐标间隔不要太大，不宜超过50像素
	mSleep(80);
	touchUp(n, a, b);   --在坐标 (150, 600) 抬起
end


--点击home键
function home()
	mSleep(500);
	--按下home键退出
	pressHomeKey(0);    --按下 Home 键
	mSleep(50);
	pressHomeKey(1);    --抬起 Home 键
	mSleep(500);
end


--颜色模糊判断
function isColor(x,y,c,s)   --封装函数，函数名 isColor
    local fl,abs = math.floor,math.abs
    s = fl(0xff*(100-s)*0.01)
    local r,g,b = fl(c/0x10000),fl(c%0x10000/0x100),fl(c%0x100)
    local rr,gg,bb = getColorRGB(x,y)
    if abs(r-rr)<s and abs(g-gg)<s and abs(b-bb)<s then
        return true
    end
end

function changeIP()
	
	--切换ip
	openURL("http://lumtest.com/myip.json?switchproxy")
	mSleep(4000)

	--判断是否更换完成
	time_7 = os.time()
	while (true) do
		if isColor(22,157,0x000000,90)then
			mSleep(1000)
			break
		end
		time_8 = os.time()
		if (time_8-time_7>10) then
			break
		end
	end
end

--重命名当前记录
function renameCurrentRecord(name)
	local sz = require("sz");
	local http = require("szocket.http");
	local res, code = http.request("http://127.0.0.1:1688/cmd?fun=renamecurrentrecord&name="..name);
	if code == 200 then
		local resJson = sz.json.decode(res);
		local result = resJson.result;
	end	
end

function rnd(min,max)
  --lua的第1次random数不靠谱，取第3次的靠谱
  local ret=0
  math.randomseed(os.time())
  for i=1,3 do
	n = math.random(min,max)
    ret=n
  end
  return ret
end


function awzPhone()
	
	--启动AWZ并一键新机（如软件验证失败则重新打开）
    openURL("IGG://cmd/open");
	time_1 = os.time()
	
	--判断软件验证是否成功,不成功则重新打开
	while (true) do
		if isColor(30,1102,0xff0101,90)then
			time_2 = os.time()
			if (time_2-time_1>10) then
				cleanAll()
				mSleep(2000)
				openURL("IGG://cmd/open");
			end
		elseif isColor(30,1093,0x0000ff,90)then
			openURL("IGG://cmd/newrecord")
			break
		end
	end	
	
	--点击清理keychain
	mSleep(1000)
	click(1,172,812)
	while (true) do
		if isColor(312,544,0xdce0dd,90) then
			mSleep(2000)
		elseif isColor(312,544,0xffffff,90) then
			break
		end
	end
	
	--点击清理safari
	mSleep(1000)
	click(1,471,614)
	while (true) do
		if isColor(312,544,0xdce0dd,90) then
			mSleep(2000)
		elseif isColor(312,544,0xffffff,90) then
			break
		end
	end
	
	--点击新机参数
	click(1,491,269);
	mSleep(2000);
	
	--点击随机生成
	click(1,475,81);
	mSleep(2000);
	
	--点击手机型号
	click(1,453,168);
	mSleep(2000);
	
	--随机手机型号
    math.randomseed(tostring(os.time()):reverse():sub(1, 7)) --设置随机数种子
    case = math.random(1,8)
	mSleep(1000);
	if case == 1 then    
		click(1,330,  404); 
		mSleep(1000);
	elseif case == 2 then  
		click(1,330,  490); 
		mSleep(1000);
	elseif case == 3 then  
		click(1,330, 572);
		mSleep(1000);
	elseif case == 4 then  
		click(1,330,  660);
		mSleep(1000);
	elseif case == 5 then  
		click(1,330,  746);
		mSleep(1000);
	elseif case == 6 then  
		click(1,330,  844); 
		mSleep(1000);
	elseif case == 7 then  
		click(1,330,  926); 
		mSleep(1000);
	elseif case == 8 then  
		click(1,330, 1014);
		mSleep(1000);
	end  
	
	--点击系统版本
	mSleep(3000);
	click(1,196,263);
	mSleep(2000);
	
    --自定义滑动
	touchDown(1, 588, 898)
	mSleep(2000);
	touchMove(1, 588, 284)
	mSleep(2000);
	touchUp(1, 588, 284)
	mSleep(2000);
	
    --随机系统版本
    math.randomseed(tostring(os.time()):reverse():sub(1, 7)) --设置随机数种子
	case = math.random(1,9)
	mSleep(1000);
    if case == 1 then   
        click(1,204,380); 
		mSleep(1000);
    elseif case == 2 then  
        click(1,208,462); 
		mSleep(1000);
	elseif case == 3 then  
        click(1,208,560);
		mSleep(1000);
	elseif case == 4 then  
        click(1,212,646);
		mSleep(1000);
	elseif case == 5 then  
        click(1,208,732);
		mSleep(1000);
	elseif case == 6 then  
        click(1, 204,816); 
		mSleep(1000);
	elseif case == 7 then  
        click(1,204,904); 
		mSleep(1000);
	elseif case == 8 then  
        click(1,204,992);
		mSleep(1000);
	elseif case == 9 then  
        click(1,202,1074);
		mSleep(1000);	
    end   
	
	--重命名当前留存
	renameCurrentRecord("-----------阴阳师2-----------");  
	
    --按下home键返回	
	home()  
	
end

function getIDFA()
	
	--打开设备信息软件
	r = runApp("com.tongbu.InfoJust")
    mSleep(2000)
	
	--复制IDFA
	click(1,317,797)
	mSleep(2000);
	
	--点击确定
	click(1,322,654)
	
	--点击home键退出
	home();
	
end

function playGame()
	
    openURL("http://track.appave.mobi/?aff_id=990706&offer_id=257662")
	mSleep(2000)
	
	--开始循环判断是否弹出打开app商城的按钮
	while (true) do
		if isColor(463,650,0x007aff,90) then
			mSleep(500);
			click(1,463,650);
			mSleep(1000);
			break;
		end
		--循环判断是否出现proxy error
		if isColor(21,154,0x565656,90) then
			mSleep(500);
			click(1,590,76);
			mSleep(8000);
		end
		--循环判断continue
		if isColor(17,161,0x6a6af5,90) then
			mSleep(500);
			click(1,153,164);
			mSleep(8000);  
		end
	end
	
	--判断是否弹出输入苹果ID密码并取消输入
	time_3 = os.time();
	while (true) do
		if isColor(241,485,0x007aff,90) then
			mSleep(500);
			click(1,241,485);
			mSleep(1000);
			break;
		end
		time_4 = os.time();
		if (time_4-time_3>20) then
			break
		end
	end
	
	--开始循环判断是否成功打开app商城并点击进入软件
	while (true) do
		if isColor(536,  565, 0x922e36,90) then
			Randomx = math.random(5,10)
			dialog(Randomx, 2)
			mSleep(Randomx*1000)
			click(1,536,  565)
			break
		end
	end
	
	--进入游戏初始化并开始判断弹窗
	init("0",1)
	time_5 = os.time();
	while (true) do
		if isColor(550,  442, 0x007aff,90)then
			mSleep(1000)
			click(1,550,  442)
		end
		if isColor(640,  394, 0xf3b25e,90) then
			mSleep(1000)
			click(1,640,  394)
		end
		time_6 = os.time();
		if(time_6-time_5>90)then
			break
		end
	end

	--HOME返回并重新运行脚本
	home()
	
--	mSleep(30*100)
--	lua_restart()
	
--    --选择继续执行脚本或者结束脚本
--	ret = dialogRet("此轮任务以完成，请选择", "继续执行", "结束脚本", 0, 0);--定义弹出框文本
--	if ret == 0 then    --如果按下"继续执行"按钮则
--		init("0",0);    --初始化
--		toast("您选择了继续执行，脚本继续运行")
--		lua_restart()   --继续运行脚本
--	else 
--		toast("您选择了结束脚本，脚本退出运行")
--		return          --反之结束脚本
--	end
end

function main()
	
	--清理后台
	cleanAll()

	--关闭vpn
	setVPNEnable(false)
	mSleep(2000)
	
	--初始化手机
	awzPhone()
	mSleep(2000)
	
	--开启vpn
	setVPNEnable(true)
	mSleep(2000)
	
	--切换ip
	changeIP()
	mSleep(5000)
	
	--开始任务
	playGame()

end

main();
